/* 路由配置信息 */

/* 引入路由组件 */
// import Home from '@/pages/Home'
// import search from '@/pages/Search';
// import Logoin from '@/pages/Login'
// import Register from '@/pages/Register'
// import Detail from '@/pages/Detail'
// import AddCartSuccess from '@/pages/AddCartSuccess'
// import ShopCart from '@/pages/ShopCart'
// import Trade from '@/pages/Trade'
// import Pay from '@/pages/Pay'
// import PaySuccess from '@/pages/PaySuccess'
// import Center from '@/pages/Center'



/* 二级路由组件 */
// import MyOrder from '@/pages/Center/MyOrder'
// import GroupOrder from '@/pages/Center/GroupOrder'


/* 路由独享守卫   只再路由页面去设置 */
/* 1 只有从购物车页才能跳转到交易页 */
/* 2 只有从交易页面才能跳转到支付页面 */
/* 3 只有从支付页面才能跳转支付成功页面 */



/* 
* 路由懒加载
* const Home = () => import('@/pages/Home')  简写就可以直接在组件内component: () => import('@/pages/Home')
* 当打包构建应用时，JavaScript 包会变得非常大，影响页面加载。
* 如果我们能把不同路由对应的组件分割成不同的代码块，然后当路由被访问的时候才加载对应组件，这样就更加高效了。
*/
export default [
    {
        path: "/home",
        component: () => import('@/pages/Home'),
        meta: { show: true, }
    },
    {
        path: "/center",
        component: () => import('@/pages/Center'),
        meta: { show: true, },
        /* 二级路由 */
        children: [
            {
                path: 'myorder',
                component: () => import('@/pages/Center/MyOrder'),
            },
            {
                path: 'grouporder',
                component: () => import('@/pages/Center/GroupOrder'),
            },
            {
                path: '/center',
                redirect: '/center/myorder'
            }
        ]

    },
    {
        path: "/paysuccess",
        component: () => import('@/pages/PaySuccess'),
        meta: { show: true, },
        /* 这个使用组件内路由守卫 */
    },
    {
        path: "/shopcart",
        component: () => import('@/pages/ShopCart'),
        meta: { show: true, }
    },
    {
        path: "/pay",
        component: () => import('@/pages/Pay'),
        meta: { show: true, },
        beforeEnter: (to, from, next) => {
            if (from.path == '/trade') {
                next()
            } else {
                next(false)
            }
        }
    },
    {
        path: "/detail/:skuid?",
        component: () => import("@/pages/Detail"),
        meta: { show: true, },
    },
    {
        path: "/trade",
        component: () => import("@/pages/Trade"),
        meta: { show: true, },
        /* 路由独享守卫   只再路由页面去设置 */
        /* 1 只有从购物车页才能跳转到交易页 */
        /* 2 只有从交易页面才能跳转到支付页面 */
        /* 3 只有从支付页面才能跳转支付成功页面 */
        beforeEnter: (to, from, next) => {
            if (from.path == '/shopcart') {
                next()
            } else {
                next(false)
            }
        }
    },
    {
        path: "/addcartsuccess",
        name: "addcartsuccess",
        component: () => import('@/pages/AddCartSuccess'),
        meta: { show: true, }
    },
    {
        name: 'search',
        /* params参数指定传参后面加文科 可以表明可传可不传 */
        path: "/search/:keyword?",
        component: () => import('@/pages/Search'),
        meta: { show: true, },
        /* 路由组件能不能传递proms:可以 */
        // 布尔写法 可以把params参数作为props传递
        // props: true
        /* 对象写法 额外的给路由组件传递一些props */
        // props: { a: 1, b: 2 }
        /* 函数写法 可以把params和query作为参数传递 */
        // props: $route => ({ keyword: $route.params.keyword, k: $route.query.k })

    },
    {
        path: "/logoin",
        component: () => import('@/pages/Login'),
        meta: { show: false, }

    },
    {
        path: "/register",
        component: () => import('@/pages/Register'),
        meta: { show: false, }
    },
    /* 重定向 在项目跑起来 项目立马定向到首页 */
    {
        path: '*',
        redirect: '/home'
    },
]